Un Pointeur intelligent est une structure de données abstraite qui agit comme un pointeur mais transporte des métadonnées et une logique pour gérer les données auxquelles il pointe. Alors qu'une référence standard (&T) n'est qu'une adresse mémoire simple—un « pointeur bête »—alors que le modèle de pointeur intelligent en Rust utilise des structures pour encapsuler les pointeurs avec des règles personnalisées pour la propriété, le contrôle d'accès et la suppression automatique.
L'avantage des métadonnées
Imaginez une référence standard comme une Clé de maison basique: elle permet l'accès, mais rien d'autre. Un pointeur intelligent est un Système de carte-clé; la carte stocke des métadonnées (historiques d'accès, autorisations, expiration) et peut verrouiller automatiquement la porte (nettoyage) en partant.
La logique fondamentale
En Rust, les pointeurs intelligents sont définis en implémentant les traits Deref et Drop Cela leur permet de se comporter comme des références tout en exécutant une logique personnalisée lorsqu'elles sont accédées ou détruites.